﻿namespace ProblemsSet
{
    public class Problem_45 : BaseProblem
    {
        public override object GetResult()
        {
            var val = 143;
            while (true)
            {
                val++;
                var vl = MathLogic.GetHexa(val);
                if (!MathLogic.IsPenta(vl)) continue;
                if (!MathLogic.IsTriangle(vl)) continue;
                return vl;
            }
            return -1;
        }

        public override string Problem
        {
            get
            {
                return @"Triangle, pentagonal, and hexagonal numbers are generated by the following formulae:

Triangle	 	Tn=n(n+1)/2	 	1, 3, 6, 10, 15, ...
Pentagonal	 	Pn=n(3n1)/2	 	1, 5, 12, 22, 35, ...
Hexagonal	 	Hn=n(2n1)	 	1, 6, 15, 28, 45, ...
It can be verified that T285 = P165 = H143 = 40755.

Find the next triangle number that is also pentagonal and hexagonal.";
            }
        }

        public override bool IsSolved
        {
            get
            {
                return true;
            }
        }

        public override object Answer
        {
            get
            {
                return 1533776805;
            }
        }
    }
}
